草庐IT

c++ - 问题返回 CArray

全部标签

arrays - 函数应返回 sha256/sha384/sha512 结果作为 byte slice

我正在编写一个函数,它将输入数据作为字符串和要调用的SHA算法的位大小。它应该将生成的散列作为byteslice返回(第一次尝试):packagemainimport("crypto/sha256""crypto/sha512""errors""fmt")funcmain(){input:="Thisisatest."sha256,_:=shaSum(input,256)sha384,_:=shaSum(input,384)sha512,_:=shaSum(input,512)fmt.Println(input,sha256,sha384,sha512)}funcshaSum(data

go - 如何仅将函数的返回值分配给 golang 中的结构字段?

这个问题在这里已经有了答案:Multiplevaluesinsingle-valuecontext(6个答案)关闭4年前。假设我们有这样一个结构:typeDatastruct{aint}而我们想要获取一个返回多个值的函数的单个返回值,并将其赋值给一个Data对象,例如data:=Data{a:strconv.Atoi("1000")}上面的代码不起作用,因为Atoi返回两个值,一个数字和一个错误,所以我们需要以某种方式处理额外的值(错误),但在我的例子中,我不需要评估错误值,它是无法使用_关键字关闭它。在初始化一个结构体时,我想去掉错误的返回值,我该如何实现

go - 在 Go 语言中返回其结构地址的方法

在尝试创建链表数据结构时,我声明了两个结构。packagemainimport"fmt"typelistElementstruct{dataintnext*listElement}typeListstruct{first*listElementlast*listElementlenint}我想创建一个返回空列表的方法。到目前为止,我只能创建函数funcnew()*List{return&List{}}这与我在多个数据结构存储库中看到的结果相同。是否可以创建一个方法List.new()来返回一个新的空列表? 最佳答案 是的,您当然可以

go - 为什么解码此 API 响应会返回意外的 EOF?

问题我正在使用ProtocolBuffer和gRPC在Go中创建一个微服务。它与第三方API(Snooth)交互,我正在尝试使用proto包将JSON响应解码为我创建的protobuf结构。解码返回一个意外的EOF错误。我尝试过的使用json.newDecoder而不是json.unmarshaljsonpb.Unmarshal而不是proto.Unmarshal(返回StructValue中键的错误值错误)使用io.LimitReader限制响应读取我还读过一些关于在原型(prototype)类型前加上尺寸标签之类的东西?但我不确定那是什么或者它是否相关。这是Github上的repo

goroutine 值返回顺序

这个问题在这里已经有了答案:Golangchanneloutputorder(4个答案)关闭4年前。为什么下面的代码总是返回2,1,而不是1,2。functest(xint,cchanint){c

bash - 使用 os.exec 执行 'su' 返回错误

据我了解,Go的exec函数直接使用内核执行命令,而不是创建本地终端session或类似的东西。不幸的是,我需要使用su命令来运行脚本,这涉及运行su然后通过标准输入管道输入root密码。是的,我必须使用su(禁用sudo的设备上的业务用例),而且我还需要能够通过管道输入密码。目前我的代码如下rootRun:=exec.Command("su","-c","whoami")rootRun.Stderr=os.StdoutrootRun.Stdout=os.Stdouterr=rootRun.Run()check(err)错误是su:mustberunfromaterminalpanic

linux - Golang 中的缓冲区问题

我正在处理多线程和序列化流程,并希望自动化我的侦察流程。只要我不调用名为nmap的函数,我的代码就可以正常工作。当调用nmap时,它退出并出现以下错误:./recon-s.go:54:12:notenoughargumentsincalltonmaphave()want(chan这是我的代码:packagemainimport("fmt""log""os/exec""sync")varurlstringvarwgsync.WaitGroupvaripstringfuncnikto(outChanchan 最佳答案 您遇到的错误是:n

go - 执行外部命令并返回其输出

我正在尝试执行linux命令并将输出转换为int。这是我当前的代码:packagemainimport("os/exec""os""strconv"_"fmt""log""bytes")funcmain(){cmd:=exec.Command("ulimit","-n")cmdOutput:=&bytes.Buffer{}cmd.Stdout=cmdOutputerr:=cmd.Run()iferr!=nil{os.Stderr.WriteString(err.Error())}count,err:=strconv.Atoi(string(cmdOutput.Bytes()))ifer

函数返回后不改变指针

语言是“Go”(“Golang”)。函数initApp正在接收指向对象的指针(Go中的“struct”)。在函数内部,我创建了一个新的对象指针并初始化了对象的值。打印和调试器都表明在函数返回之前一切都很好。但是在Return之后,作为函数参数的指针具有与函数调用之前相同的空值。为什么会这样?代码在这里:https://pastebin.com/0Gww2CQC//ptr.go.packagemainimport"fmt"typeClassXstruct{NamestringAgeint}funcmain(){varobj*ClassXinitApp(obj)fmt.Println(ob

json - 更新 1.1 在文件夹中运行 Go 文件和 JSON 文件时出现问题

更新1.1在收到有关更改处理程序路径的有用反馈后,我在我的应用程序中使用了该反馈,但奇怪的是,我仍然收到一些错误反馈。我正在尝试自己弄清楚,但我想我可以与大家分享。这也是我取消现在给出的答案的原因。还有一些答案现在让我感到困惑,无法理解这将如何为我工作。packagemainimport("net/http"//PackagehttpprovidesHTTPclientandserverimplementations.)funcmain(){webHost()}funcwebHost(){//Ikhebhierlaternogeenmapjevoordehtmlpagina'stoeg